export interface ListStatement {
  mateList: MateList[]
  mateForm: Array<MateForm[]>
}

export interface MateList {
  property: string
  label: string
  width?: number
  codeType?: string
  codes?: CodeItem[]
}

export interface CodeItem {
  itemId: any
  itemName: string
  tagType?: string
}

export interface MateForm {
  property: string
  property2?: string
  label: string
  width?: number
  type:
    | 'text'
    | 'select'
    | 'date'
    | 'time'
    | 'datetime'
    | 'number'
  codes?: CodeItem[]
  placeholder?: string,
  operator?: Array<string>
  multiple: boolean
}


export interface SortRule {
  field: string,
  direction: string
}

export interface PageQuery {
  pageNum: number
  pageSize: number
  sortRules: SortRule[],
  filters: any
}

export interface Page<T> {
  current: number,
  count: number,
  modelList: T,
  size: number,
  total: number
}